package com.fengye.aop.demo.transaction.tool.impl;

import com.fengye.aop.demo.anotation.WorkflowAnnotation;
import com.fengye.aop.demo.enums.OperationType;
import com.fengye.aop.demo.transaction.tool.ITransactionTool;
import com.fengye.aop.demo.vo.WorkflowVO;
import org.springframework.stereotype.Service;

/**
 * @author fengyexjtu@126.com
 * @since 2022-09-25
 */
@Service
public class TransactionToolService implements ITransactionTool {
    
    @WorkflowAnnotation(operation = OperationType.START, record = true)
    @Override
    public WorkflowVO start(WorkflowVO workflowVO) {
        return null;
    }
    
    @WorkflowAnnotation(operation = OperationType.COMPETE, record = true)
    @Override
    public WorkflowVO complete(WorkflowVO workflowVO) {
        return null;
    }
    
    @WorkflowAnnotation(operation = OperationType.SIGNAL, record = true)
    @Override
    public WorkflowVO signal(WorkflowVO workflowVO) {
        return null;
    }
    
    @WorkflowAnnotation(operation = OperationType.TRANSFER, record = true)
    @Override
    public WorkflowVO transfer(WorkflowVO workflowVO) {
        return null;
    }
    
    @WorkflowAnnotation(operation = OperationType.CANCEL, record = true)
    @Override
    public WorkflowVO cancel(WorkflowVO workflowVO) {
        return null;
    }
}
